package cn.chencaiju.spring.aop;

import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;

/**
 * 切面，封装了我们需要动态添加的代码
 * 
 *
 */
@Aspect
@Component
public class PostAspect {
	long start;
	long end;
	
	public PostAspect() {
		System.out.println("切面被创建。。。");
	}
	
	// 需要加到目标方法之前的代码
	// 切入点表达式
	@Before("execution(* cn.chencaiju.spring.service.PostService.*(..))")
	public void beforeAdvice() {
		start = System.currentTimeMillis();
//		System.out.println("执行开始时间点：" + start);
	}
	
	// 需要加到目标方法之后的代码
	@After("execution(* cn.chencaiju.spring.service.PostService.*(..))")
	public void afterAdvice() {
		end = System.currentTimeMillis();
		System.out.println("执行结束时间点：" + end +"耗时 "+(end-start)+"ms");
		
	}
}